[๋ฉด์ ‘์ค€๋น„] ์šด์˜์ฒด์ œ

๊ฐœ๋ฐœ์ž ๋ฉด์ ‘์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€๋“ค. ๋” ๋งŽ์€ ๋‚ด์šฉ์€ ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (https://github.com/jeonyeohun/GetReadyForInterview)

ํ”„๋กœ์„ธ์Šค (Process)

ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด CPU์˜ ํ• ๋‹น์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์šด์˜์ฒด์ œ๋ถ€ํ„ฐ ์ฃผ์†Œ๊ณต๊ฐ„, ํŒŒ์ผ, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์„ ํ• ๋‹น ๋ฐ›์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ๊ตฌ์กฐ๋Š” ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋‚˜์š”?

  • ์Šคํƒ ์˜์—ญ : ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฆฌํ„ด๊ฐ’ ๋“ฑ์ด ์ž„์‹œ๋กœ ์ €์žฅ๋˜๋Š” ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ํ•จ์ˆ˜๊ฐ€ ๋ถˆ๋ ธ์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ–ˆ๋‹ค๊ฐ€ ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํž™ ์˜์—ญ : ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ž‘ ์ค‘์— ๋™์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์˜์—ญ : ๋ฐ์ดํ„ฐ ์˜์—ญ์—๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋  ๋•Œ ์ƒ์„ฑ๋˜๋Š” ์ „์—ญ๋ณ€์ˆ˜, ์ •์ ๋ณ€์ˆ˜ ๋“ฑ์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

    • Blocked State Symbol ์˜์—ญ : ๋ฐ์ดํ„ฐ ์˜์—ญ์—๋Š” BSS ์˜์—ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. BSS ์˜์—ญ์€ ์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€ ์ •์ ๋ณ€์ˆ˜์™€ ์ „์—ญ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋“ค์€ ๊ฐ’์„ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฐ„์˜ ๋‚ญ๋น„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด BSS ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ : ์ฝ”๋“œ์˜์—ญ์€ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์ง€๋Š” ์ƒํƒœ๋ฅผ ๋ชจ๋‘ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • NEW : ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์ง€๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
  • READY : ์ค€๋น„ ํ์—์„œ ์šด์˜์ฒด์ œ์— ์˜ํ•ด CPU์— ๋กœ๋“œ๋˜๊ธธ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
  • RUNNING : CPU์— ๋กœ๋“œ๋˜์–ด ์‹คํ–‰ ์ค‘์ธ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
  • WAITING : I/O ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์ด๋ฒคํŠธ๊ฐ€ ์ฒ˜๋ฆฌ๋˜๋Š” ๋™์•ˆ, ํ˜น์€ ์–ด๋–ค ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆด ๋•Œ Device queue ์—์„œ ๋Œ€๊ธฐํ•˜๋Š” ์ƒํƒœ ์ž…๋‹ˆ๋‹ค.
  • TERMINATED : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ณ  CPU ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์„ ๋•Œ์˜ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ์™€ ํŠธ๋žฉ์˜ ์ฐจ์ด๋Š”?

  • ์ธํ„ฐ๋ŸฝํŠธ๋Š” ํ•˜๋“œ์›จ์–ด์— ์˜ํ•ด ๋ฐœ์ƒ๋ฉ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•  ๋•Œ, ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • ํŠธ๋žฉ์€ ์†Œํ”„ํŠธ์›จ์–ด์— ์˜ํ•ด ๋ฐœ์ƒ๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ CPU์—๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด ๋™์ž‘์— ํ•„์š”ํ•œ ๋™์ž‘์„ ์š”๊ตฌํ•  ๋•Œ ํŠธ๋žฉ์„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์‹œ์Šคํ…œ ์ฝœ์€ ๋ญ”์ง€ ์•Œ์•„์š”?

  • ์‹œ์Šคํ…œ ์ฝœ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํŠธ๋žฉ์„ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ์œ„ํ•ด OS์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๋Š” ์‹œ์Šคํ…œ ์ฝœ์„ ๋ฐœ์ƒ์‹œ์ผœ ์ž์‹ ์ด ์ง์ ‘ ์ธํ„ฐ๋ŸฝํŠธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ์šด์˜์ฒด์ œ๊ฐ€ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์š”์ฒญ๋ฐ›์€ ์‹œ์Šคํ…œ ์ฝœ์„ ISR(Interrupt Service Routine) ์—์„œ ์ฐพ์•„ ๋ฏธ๋ฆฌ ์ •์˜๋œ ์‹œ์Šคํ…œ ์ฝœ ์ฒ˜๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

PCB(Process Control Block)์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • PCB๋Š” ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ž…๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์ด PCB๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. PCB๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ๊ณผ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.
  • PCB๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค ID
  • ํ”„๋กœ์„ธ์Šค ์ƒํƒœ
  • ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ
  • ๊ณ„์ •์ •๋ณด
  • ์Šค์ผ€์ค„๋ง ์ •๋ณด
  • ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์™€ ์ž๋…€ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ
  • ๋ ˆ์ง€์Šคํ„ฐ ์ •๋ณด
  • ์ž…์ถœ๋ ฅ ์ƒํƒœ

์ปจํ…์ŠคํŠธ ์Šค์œ„์น˜์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • ์ปจํ…์ŠคํŠธ ์Šค์œ„์น˜๋Š” CPU๋ฅผ ์ ์œ ํ•˜๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ์— ์˜ํ•ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ๊ต์ฒดํ•  ๋•Œ, ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค์˜ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์˜ ๋ ˆ์ง€์Šคํ„ฐ๊ฐ’์„ CPU ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋•Œ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ฐ’์œผ๋กœ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ฑ„์šฐ๋Š” ๋™์•ˆ CPU๋Š” ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ํฐ ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Orphan ํ”„๋กœ์„ธ์Šค์™€ Zombie ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • Orphan ํ”„๋กœ์„ธ์Šค๋Š” ์ž๋…€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ธฐ ์ „์— ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ wait ์‹œ์Šคํ…œ ์ฝœ๋กœ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ข…๋ฃŒ๋œ ์ƒํƒœ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์˜ ๊ฒฝ์šฐ์—๋Š” Orphan ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์ข…๋ฃŒ๋œ ์ž๋…€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฃจํŠธ ํ”„๋กœ์„ธ์Šค์ธ init ํ”„๋กœ์„ธ์Šค์˜ ์ž์‹์œผ๋กœํŽธ์ž…์‹œํ‚ค๊ณ  ์ฃผ๊ธฐ์ ์œผ๋กœ wiat ์‹œ์Šคํ…œ์ฝœ์„ ํ˜ธ์ถœํ•˜์—ฌ ์ž๋…€ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ƒํƒœ๋ฅผ ํšŒ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.
  • Zombie ํ”„๋กœ์„ธ์Šค๋Š” ์ž๋…€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์ง€๋งŒ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ํšŒ์ˆ˜ํ•˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ž๋…€ ํ”„๋กœ์„ธ์Šค๋Š” ์ข…๋ฃŒ๋์ง€๋งŒ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ wait ์„ ํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ข€๋น„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™œ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์•„์š”?

  • ์ข€๋น„ ํ”„๋กœ์„ธ์Šค๋Š” ์ข…๋ฃŒ๋œ ํ”„๋กœ์„ธ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— CPU๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๊ณ  ์ปค๋„์˜ ํ”„๋กœ์„ธ์Šค ํ…Œ์ด๋ธ”์— ๊ด€๋ฆฌ๋˜์–ด ๋ถˆํ”ผ์š”ํ•œ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ๋ฐฉ๋ฒ•์„ ๋งํ•ด๋ณด์„ธ์š”.

  • ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณต์œ ๋ฉ”๋ชจ๋ฆฌ ๋ฐฉ๋ฒ•์ด๋‚˜ ๋ฉ”์„ธ์ง€ ํŒจ์‹ฑ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณต์œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ•œ ํ”„๋กœ์„ธ์Šค์— ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜์—ฌ ๋ฒ„ํผ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
  • ๋ฉ”์„ธ์ง€ ํŒจ์‹ฑ ๋ฐฉ๋ฒ•์€ ์ปค๋„ ์˜์—ญ์— ํ†ต์‹ ์„ ์œ„ํ•œ ๋ฉ”์ผ ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ค์–ด๋‘๊ณ  ์ด๊ณณ์„ ๋ฒ„ํผ๋กœ ์‚ผ์•„ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค.

CPU ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ๋ญ”์ง€ ์•Œ์•„์š”?

  • CPU ์Šค์ผ€์ค„๋Ÿฌ๋Š” Ready ํ์—์„œ CPU์— ๋กœ๋“œ๋˜๊ธธ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค ์ค‘ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ๋กœ๋“œํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์žฅ๊ธฐ์Šค์ผ€์ค„๋Ÿฌ๋„ ์žˆ์„๊นŒ์š”?

  • ์žฅ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋Š” job ์Šค์ผ€์ค„๋Ÿฌ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค€๋น„ ํ์— ๋„ฃ์„์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์Šค์ผ€์ค„๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ˆซ์ž๋ฅผ ์ œ์–ดํ•ด์„œ degree of multiprogramming ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์Šค์ผ€์ค„๋Ÿฌ๋Š” ์—†์–ด์š”?

  • ์ค‘๊ธฐ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ฉ”๋ชจ๋ฆฌ์— ๋„ˆ๋ฌด ๋งŽ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ฌ๋ผ์˜ค๊ฒŒ ๋˜๋ฉด ์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ๋กœ ๋””์Šคํฌ์˜ ์Šค์™‘ ์˜์—ญ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ swap-out ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น๊ณผ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ์˜ ์ฐจ์ด๊ฐ€ ๋ญ์—์š”?

  • ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์€ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์„œ(CPU ์ฝ”์–ด)๊ฐ€ ์šด์˜์ฒด์ œ์˜ ์Šค์ผ€์ค„๋ง์„ ๋ฐ›์•„ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋น ๋ฅด๊ฒŒ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
  • ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ์€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

Thread

์Šค๋ ˆ๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ์‹คํ–‰๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋ฉฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์Šค๋ ˆ๋“œ์™€ ํ”„๋กœ์„ธ์Šค์˜ ์ฐจ์ด๊ฐ€ ๋ญ์—์š”?

  • ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ , ์ด ์Šค๋ ˆ๋“œ๋“ค์€ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ์ผ๋ถ€ ์„œ๋กœ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์ƒ์„ฑ์‹œ ์ฝ”๋“œ์˜์—ญ, ๋ฐ์ดํ„ฐ์˜์—ญ, ํž™์˜์—ญ, ์Šคํƒ์˜์—ญ์„ ํ• ๋‹น๋ฐ›์Šต๋‹ˆ๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ์—ฌ๊ธฐ์„œ ์Šคํƒ ์˜์—ญ๋งŒ ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์œ ์ง€ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์˜์—ญ๋“ค์„ ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ์Šค๋ ˆ๋“œ๋“ค์ด ํ•จ๊ป˜ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋…๋ฆฝ์ ์ธ ์Šคํƒ ์˜์—ญ์„ ๊ฐ€์ง€๋Š” ์ด์œ ๋Š” ๋ญ”๊ฐ€์š”?

  • ์Šคํƒ์˜์—ญ์„ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ์— ๊ฐ ์Šค๋ ˆ๋“œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ํ˜ธ์ถœํ•œ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์Šคํƒ์ •๋ณด๊ฐ€ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์— ์˜ํ–ฅ์„ ์ค€๋‹ค๋ฉด ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜๋ฏธ๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—… ํ๋ฆ„์„ ๋‹ด๋‹นํ•ด์•ผํ•˜๋ฏ€๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ์ž‘์—…ํ๋ฆ„์„ ๊ฐ€์ง€๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์Šคํƒ์˜์—ญ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์ด์™€ ๋”๋ถˆ์–ด์„œ ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ์—ญ์‹œ๋„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์ด ๋ฌด์—‡์ธ์ง€ ๋งํ•ด๋ณด๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์€ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌ์„ฑํ•ด์„œ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์˜ ์Šค๋ ˆ๋“œ๋Š” ์„œ๋กœ ํž™ ์˜์—ญ์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋‹ค๋ฅธ ํ†ต์‹  ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ์Šค๋ ˆ๋“œ๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์Šค๋ ˆ๋“œ๋Š” ์„œ๋กœ ๊ณต์œ ํ•˜๋Š” ์˜์—ญ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— CPU ์บ์‹œ์˜ hit ์œจ์ด ๋” ๋†’๊ณ  ์ด ๋•Œ๋ฌธ์— ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์‹ฑ๋ณด๋‹ค ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์˜ ๋น„์šฉ์ด ๋” ์ €๋ ดํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด๊ฐ€ ๋ญ”์ง€ ์•Œ์•„์š”?

  • ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๋Š” ์‚ฌ์šฉ์ž ์˜์—ญ์˜ ์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ตฌํ˜„๊ณผ ๋™์ž‘์€ ์‚ฌ์šฉ์ž ์˜์—ญ์—์„œ ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ปค๋„์€ ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์˜ ์กด์žฌ์œ ๋ฌด๋ฅผ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
  • ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์Šค๋ ˆ๋“œ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์— ๋ฌธ์ œ์ ์€ ์—†๋‚˜์š”?

  • ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋ชจ๋“  ์Šค๋ ˆ๋“œ๋“ค์ด ๋ฐ์ดํ„ฐ ์˜์—ญ, ํž™ ์˜์—ญ, ์ฝ”๋“œ ์˜์—ญ์„ ๊ณต์œ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ ๋‹ค์ˆ˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ ์˜์—ญ๊ณผ ํž™ ์˜์—ญ์˜ ๋ฐ์ดํ„ฐ์— ๋™์‹œ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋ฉด ๋™๊ธฐํ™” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Mutex ๋‚˜ Semaphore ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

CPU ์Šค์ผ€์ค„๋ง

์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์™€ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์˜ ์ฐจ์ด๋ฅผ ๋งํ•ด๋ณด์„ธ์š”.

  • ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ CPU์— ํ• ๋‹น๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์ด ์™„์ „ํžˆ ๋๋‚˜์ง€ ์•Š์•„๋„ ๊ฐ•์ œ์ ์œผ๋กœ ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋กœ ๊ต์ฒดํ•ด๋ฒ„๋ฆฌ๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ ๋ฐ˜๋Œ€๋กœ CPU์— ํ• ๋‹น๋œ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ด ์™„์ „ํžˆ ๋๋‚œ ์ดํ›„์— CPU์— ํ• ๋‹น๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ต์ฒดํ•˜๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

FCFS ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ”์ง€ ์•Œ์•„์š”?

  • FCFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ค€๋น„ ํ์— ๋จผ์ € ๋„์ฐฉํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ CPU์— ํ• ๋‹นํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋กœ ์„ ํƒํ•˜๋Š” ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.

์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŽ์ด ์“ธ๊นŒ์š”?

  • ์•„๋‹™๋‹ˆ๋‹ค. FCFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ•ญ์ƒ ๋จผ์ € ๋„์ฐฉํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์•ฝ ๊ฐ€์žฅ ๋Šฆ๊ฒŒ ๋„์ฐฉํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ผ๋งˆ ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ผ ๊ฒฝ์šฐ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค. ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹ค์ œ๋กœ ์ž‘์—…์— ํ•„์š”ํ•œ ์‹œ๊ฐ„์€ ์งง์ง€๋งŒ ์‹คํ–‰์„ ์œ„ํ•ด ์ค€๋น„ ํ์—์„œ ์˜ค๋žซ๋™์•ˆ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ํฐ ์ทจ์•ฝ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ Shortest Job First ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ด๋–จ๊นŒ์š”?

  • SJF ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ค€๋น„ ํ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šด์˜์ฒด์ œ์˜ ์Šค์ผ€์ค„๋ง์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŽ์ด ์“ธ๊นŒ์š”?

  • ์•„๋‹™๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜ํ–‰์‹œ๊ฐ„์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ์ด์ „ ์ˆ˜ํ–‰์‹œ๊ฐ„๊ณผ ๋น„์Šทํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฐ€์ •์„ ํ•˜์—ฌ ์ˆ˜ํ•™์  ์˜ˆ์ธก์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜๋Š” ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์‹ค์ œ๋กœ๋Š” ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฃผ๋กœ ์‚ฌ์šฉํ• ๊นŒ์š”?

  • Round Robin ์ด๋‚˜ Priority ์Šค์ผ€์ค„๋ง์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง์€ time quantum ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์Šค์ผ€์ค„๋ง์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ์šด์˜์ฒด์ œ๋Š” ์ค€๋น„ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ •ํ™•ํžˆ time quantum ์‹œ๊ฐ„๋งŒํผ๋งŒ CPU์— ํ• ๋‹น์‹œํ‚ค๊ณ  ์‹œ๊ฐ„์ด ๋๋‚˜๋ฉด ๊ณง๋ฐ”๋กœ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค์™€ ๊ต์ฒด์‹œํ‚ต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์Šค์ผ€์ค„๋ง์„ ํ•˜๋ฉด ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ์— ๋‚˜๋ˆ ์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜์‘์†๋„๊ฐ€ ์ค‘์š”ํ•œ ์‹œ์Šคํ…œ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Priority ์Šค์ผ€์ค„๋ง์€ ์ค€๋น„ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์„ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ CPU์— ํ• ๋‹นํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„ ํ์— ๋„์ฐฉํ–ˆ์„ ๋•Œ, ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค๋ฉด ๋„์ฐฉ์‹œ๊ฐ„๊ณผ๋Š” ๊ด€๊ณ„์—†์ด ๋จผ์ € ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.

๋ผ์šด๋“œ ๋กœ๋นˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋‹จ์ ์€ ์—†์„๊นŒ์š”?

  • ๋ผ์šด๋“œ ๋กœ๋นˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ time quantum ์— ์˜์กด์ ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ time quantum ์ด ์ค€๋น„ ํ์— ์žˆ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜ํ–‰์‹œ๊ฐ„๋ณด๋‹ค ๊ธธ๋‹ค๋ฉด, FCFS๊ณผ ๋™์ผํ•œ ์Šค์ผ€์ค„๋ง์ด ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ time quantum ์ด ๋„ˆ๋ฌด ์งง๋‹ค๋ฉด, ํ”„๋กœ์„ธ์Šค์˜ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ Priority ์Šค์ผ€์ค„๋ง์˜ ๋‹จ์ ์€์š”?

  • ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์Šค์ผ€์ค„๋ง์„ ํ•˜๊ฒŒ๋˜๋ฉด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜์ง€ ๋ชปํ•˜๊ณ  ์žฅ์‹œ๊ฐ„๋™์•ˆ ์ค€๋น„ ํ์— ๋‚จ์•„์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ํ˜„์ƒ์„ Starvation ํ˜น์€ Indefinite Blocking ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

  • ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ๋Š” Aging ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค€๋น„ ํ์— ์˜ค๋ž˜ ๋จธ๋ฌด๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ ์ง„์ ์œผ๋กœ ๋†’์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ๋ผ์šด๋“œ ๋กœ๋นˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ž์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ผ์šด๋“œ ๋กœ๋นˆ์€ ๊ณต์ •ํ•˜๊ฒŒ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ์ ์œ ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์ •๋ ฌ๋˜๊ณ  ์ด ํ”„๋กœ์„ธ์Šค๋“ค์— ๋Œ€ํ•ด ๋ผ์šด๋“œ ๋กœ๋นˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํ์˜ ๋’ค์— ์œ„์น˜ํ•œ ํ”„๋กœ์„ธ์Šค๋„ CPU ์ ์œ ์˜ ๊ธฐํšŒ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฉ€ํ‹ฐ ๋ ˆ๋ฒจ ํ์— ๋Œ€ํ•ด์„œ ๋“ค์–ด๋ดค์–ด์š”?

  • ๋ฉ€ํ‹ฐ ๋ ˆ๋ฒจ ํ๋Š” ์ค€๋น„ ํ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค ์ค‘์š”๋„์— ๋”ฐ๋ผ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ์— ๋„ฃ์–ด ๊ด€๋ฆฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ๊ฐ ํ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•œ ํ์—์„œ ๋‹ค๋ฅธ ํ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†์–ด ์œ ์—ฐํ•˜์ง€ ๋ชปํ•œ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๋ฉ€ํ‹ฐ ๋ ˆ๋ฒจ ํ”ผ๋“œ๋ฐฑ ํ๋Š” ๋ญ์˜ˆ์š”?

  • ๋ฉ€ํ‹ฐ ๋ ˆ๋ฒจ ํ”ผ๋“œ๋ฐฑ ํ๋Š” ์—ฌ๋Ÿฌ ํ๋กœ ๋‚˜๋ˆˆ ์ค€๋น„ ํ์˜ ์ƒ์œ„ ๊ณ„์ธต์— time quantum ์„ ๋‘์–ด CPU ์‚ฌ์šฉ์‹œ๊ฐ„์— ๋”ฐ๋ผ ํ”„๋กœ์„ธ์Šค์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ฃผ๊ณ  ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹จ๊ณ„๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋‹ˆ๋‹ค.

์‹ค์‹œ๊ฐ„ ์Šค์ผ€์ค„๋ง์—๋Š” ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ์žˆ์–ด์š”?

  • ๋จผ์ €, Rate Monotonic ์Šค์ผ€์ค„๋ง์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ CPU์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์Šค์ผ€์ค„๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ์šฐ์„ ์ˆœ์œ„๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์ง€๋Š” CPU ์š”์ฒญ ์ฃผ๊ธฐ์— ๋”ฐ๋ผ ์ฃผ๊ธฐ๊ฐ€ ์งง์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๊ฒŒ๋ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ์€ Earlist Deadline First ์Šค์ผ€์ค„๋ง์ž…๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ๋งˆ๊ฐ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ๋งˆ๊ฐ์‹œ๊ฐ„์ด ๋น ๋ฅด๋ฉด ๋†’์€ ์šฐ์„ ์ˆœ์ด๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์ž์‹ ์ด ์‹คํ–‰๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ์‹œ์Šคํ…œ์˜ ์ž์‹ ์˜ ๋งˆ๊ฐ์‹œ๊ฐ„์„ ์•Œ๋ฆฌ๊ณ  ์ด ๋งˆ๊ฐ์‹œ๊ฐ„์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด๋ก ์ ์œผ๋กœ๋Š” ์™„๋ฒฝํ•˜์ง€๋งŒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ต์ฒด๋˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์˜ ์˜ค๋ฒ„ํ—ค๋“œ ๋•Œ๋ฌธ์— ๋”œ๋ ˆ์ด๊ฐ€ ์ƒ๊ฒจ ์‹ค์ œ๋กœ๋Š” ๊ตฌํ˜„์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋™๊ธฐํ™”

Race Condition ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”

  • Race Condition์€ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์— ์–ด๋–ค ์ˆœ์„œ๋กœ ์ ‘๊ทผํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ์‹คํ–‰๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ์ƒํ™ฉ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

์ž„๊ณ„๊ตฌ์—ญ์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜๊ณ  ์ž„๊ณ„๊ตฌ์—ญ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ํ•„์ˆ˜ ์š”๊ตฌ์กฐ๊ฑด์„ ๋งํ•ด๋ณด์„ธ์š”.

  • ์ž„๊ณ„๊ตฌ์—ญ์€ ์–ด๋–ค ์ฝ”๋“œ์˜ ์˜์—ญ์—์„œ ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ถ€๋ถ„์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ์ž„๊ณ„๊ตฌ์—ญ์— ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋™๊ธฐํ™” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์ž„๊ณ„๊ตฌ์—ญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„ธ ๊ฐ€์ง€ ์š”๊ตฌ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    1. ์ƒํ˜ธ๋ฐฐ์ œ : ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž„๊ณ„ ๊ตฌ์—ญ์— ์žˆ๋‹ค๋ฉด ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋Š” ์ž„๊ณ„๊ตฌ์—ญ์œผ๋กœ ์ง„์ž…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    2. ์ง„ํ–‰ : ์ž„๊ณ„๊ตฌ์—ญ์— ์Šค๋ ˆ๋“œ๊ฐ€ ์—†๊ณ  ๋‹ค์ˆ˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์ž„๊ณ„๊ตฌ์—ญ ์ง„์ž…์„ ์œ„ํ•ด ๋Œ€๊ธฐ ์ค‘์ด๋ผ๋ฉด ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๊ณจ๋ผ ์ž„๊ณ„๊ตฌ์—ญ์— ์ง„์ž…์‹œ์ผœ์•ผํ•ฉ๋‹ˆ๋‹ค.
    3. ํ•œ์ • ๋Œ€๊ธฐ : ํ•œ๋ฒˆ ์ž„๊ณ„๊ตฌ์—ญ์— ์ง„์ž…ํ–ˆ๋˜ ์Šค๋ ˆ๋“œ๋Š” ๋‹ค์Œ ์‹คํ–‰์— ๋Œ€ํ•ด ์ œํ•œ์„ ๋ฐ›์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

์ž„๊ณ„๊ตฌ์—ญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํ•˜๋“œ์›จ์–ด์ ์ธ ๋ฐฉ๋ฒ•์„ ๋งํ•ด๋ณด์„ธ์š”.

  • Test & Set ๊ณผ Compare-and-Swap ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ์ž„๊ณ„๊ตฌ์—ญ ์ง„์ž…์„ ์œ„ํ•œ ์›์ž์ ์ธ ์—ฐ์‚ฐ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ๋ฐฐ์ œ์™€ ์ง„ํ–‰ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•œ๋ฒˆ ์ž„๊ณ„๊ตฌ์—ญ์— ์ง„์ž…ํ–ˆ๋˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋‹ค์‹œ ์ž„๊ณ„๊ตฌ์—ญ์œผ๋กœ ์žฌ์ง„์ž…ํ•˜๋Š” ๊ฒƒ์„ ์ œํ•œํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ•œ์ • ๋Œ€๊ธฐ ์š”๊ตฌ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค์ง€๋Š” ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์„ธ๋งˆํฌ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋งํ•ด๋ณด์„ธ์š”.

  • ์„ธ๋งˆํฌ์–ด๋Š” wait, signal ์˜ ์›์ž์  ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์„œ ๊ณต์œ ์ž์› ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ์„ธ๋งˆํฌ์–ด๋Š” ์ •์ˆ˜๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์ด ๊ฐ’์ด ์ž„๊ณ„๊ตฌ์—ญ ๋‚ด์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ์ž์›์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์Šค๋ ˆ๋“œ๊ฐ€ ์ž์›์„ ํš๋“ํ•˜๋ฉด ์„ธ๋งˆํฌ์–ด์˜ ๊ฐ’์ด ๊ฐ์†Œํ•˜๊ณ , ๋ฐฉ์ถœํ•˜๋ฉด ์„ธ๋งˆํฌ์–ด์˜ ๊ฐ’์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์„ธ๋งˆํฌ์–ด์˜ ๋‹จ์ ์ด ๋ฌด์—‡์ธ์ง€ ๋งํ•ด๋ณด์„ธ์š”.

  • ์„ธ๋งˆํฌ์–ด๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ์ž„๊ณ„๊ตฌ์—ญ์— ์ž๋ฆฌ๊ฐ€ ์ƒ๊ธธ ๋•Œ๊นŒ์ง€ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๋Œ๋ฉฐ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ํ•˜๋Š” ์Šคํ•€๋ฝ์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ๋ถˆํ•„์š”ํ•œ CPU Time ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๋ฎคํ…์Šค๋Š” ๋ญ”๊ฐ€์š”?

  • ๋ฎคํ…์Šค๋Š” lock ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ๋ฒˆ์— ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋งŒ ๋ฎคํ…์Šค ๋ฝ์„ ํš๋“ํ•˜๊ณ  ์ž„๊ณ„๊ตฌ์—ญ์— ์ง„์ž…ํ•˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

๋ฎคํ…์Šค๋ž‘ ์„ธ๋งˆํฌ์–ด๋ž‘ ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”?

  • ๋ฎคํ…์Šค๋Š” ๋ฝ์„ ํš๋“ํ•œ ์Šค๋ ˆ๋“œ๋งŒ์ด ๋ฝ์„ ๋ฐฉ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด์— ์„ธ๋งˆํฌ์–ด๋Š” signal ํ•จ์ˆ˜์— ์˜ํ•ด ๋ฝ์„ ํš๋“ํ•˜๊ณ  ์žˆ์ง€ ์•Š์€ ์Šค๋ ˆ๋“œ๋„ ์„ธ๋งˆํฌ์–ด์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผœ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋ฅผ ์ž„๊ณ„๊ตฌ์—ญ์œผ๋กœ ์ง„์ž…์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Deadlock ์— ๋ฌด์—‡์ธ๊ฐ€์š”?

  • ๋ฐ๋“œ๋ฝ์€ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์„œ๋กœ์˜ ์ž์›์„ ์–ป๊ธฐ ์œ„ํ•ด ๋ฌดํ•œ์ •ํ•˜๊ฒŒ ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

Deadlock ์˜ ๋ฐœ์ƒ์กฐ๊ฑด์€?

  • ๋„ค ๊ฐ€์ง€ ์กฐ๊ฑด์ด ์žˆ์Šต๋‹ˆ๋‹ค.

    1. ์ƒํ˜ธ ๋ฐฐ์ œ : ํ•œ ์Šค๋ ˆ๋“œ๋งŒ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    2. ์ ์œ  ๋Œ€๊ธฐ : ์ด๋ฏธ ํ•˜๋‚˜์˜ ์ž์›์„ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์— ํ• ๋‹น๋œ ์ž์›์„ ์ ์œ ํ•˜๋ ค๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ์กด์žฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
    3. ๋น„์„ ์  : ํ•œ ์Šค๋ ˆ๋“œ์— ํ• ๋‹น๋œ ์ž์›์€ ์Šค์Šค๋กœ ๋ฐฉ์ถœํ•  ๋•Œ๊นŒ์ง€ ์„ ์ ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    4. ์ˆœํ™˜๋Œ€๊ธฐ : ์ž์›์„ ์ ์œ ํ•˜๋ ค๋Š” ์Šค๋ ˆ๋“œ๋“ค์ด ์ˆœํ™˜ํ˜•ํƒœ๋กœ ์ž์› ์ ์œ ๋ฅผ ์œ„ํ—ค ๋Œ€๊ธฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

Deadlock ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•ด๋ณด์„ธ์š”.

  • ๋„ค ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

    1. ์˜ˆ๋ฐฉ : ๊ต์ฐฉ ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋„ค ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋งŒ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
    2. ํšŒํ”ผ : ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„๋‚˜ ์€ํ–‰์› ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
    3. ํšŒ๋ณต : ๋ฐœ์ƒํ•œ ๊ต์ฐฉ์ƒํƒœ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
    4. ๋ฌด์‹œ : ๊ต์ฐฉ์ƒํƒœ๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ ์Šค๋ ˆ๋“œ์™€ ๊ณต์œ ์ž์›์„ ๊ทธ๋ž˜ํ”„์˜ ์ •์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—๊ฒŒ ์š”์ฒญ์„ ํ•  ๋•Œ๋Š” ์š”์ฒญ๊ฐ„์„ ์„ ๋‘ ์Šค๋ ˆ๋“œ ์‚ฌ์ด์— ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ์ž์›์„ ํš๋“ํ•˜๋ฉด ํ• ๋‹น์„ ์„ ๋งŒ๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๊ฐ ์ •์ ๋“ค ์‚ฌ์ด์— ์‚ฌ์ดํด์ด ๋ฐœ์ƒํ•˜๋ฉด ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๊ณ  ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.

์€ํ–‰์› ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • ์€ํ–‰์› ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•ˆ์ „์ƒํƒœ์™€ ๋ถˆ์•ˆ์ „์ƒํƒœ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ „์ƒํƒœ๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ์š”๊ตฌํ•œ๋งŒํผ ์ž์›ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ฅผ ๋งํ•˜๊ณ  ์ด๋•Œ๋Š” ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถˆ์•ˆ์ „์ƒํƒœ๋Š” ์š”๊ตฌ๋ฐ›์€ ๋งŒํผ์˜ ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์€ ์ƒํƒœ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์ž์› ํ• ๋‹น ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๋•Œ ํ•ด๋‹น ์ž์›์„ ํ• ๋‹นํ•œ ์ดํ›„์— ์•ˆ์ „์ƒํƒœ๊ฐ€ ์œ ์ง€๋˜๋Š”์ง€๋ฅผ ๋ฏธ๋ฆฌ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ˆ์ „์ƒํƒœ๊ฐ€ ์œ ์ง€๋˜๋Š” ์ž์› ์š”๊ตฌ๋งŒ์„ ์ˆ˜๋ฝํ•˜๊ณ  ๋ถˆ์•ˆ์ • ์ƒํƒœ๋ฅผ ๋งŒ๋“œ๋Š” ์š”์ฒญ์€ ๋ชจ๋‘ ๊ฑฐ์ ˆํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ

MMU ๊ฐ€ ๋ญ”์ง€ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • MMU ๋Š” CPU ์™€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์—์„œ ์ฃผ์†Œ์˜ ์˜์—ญ์„ ์„ค์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. MMU ๋‚ด๋ถ€์—๋Š” ์žฌ๋ฐฐ์น˜ ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ์กด์žฌํ•ด์„œ CPU๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์œ„์น˜์™€ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์ƒ์˜ ํ”„๋กœ๊ทธ๋žจ์˜ ์œ„์น˜๋ฅผ ๋งž์ถฐ์ค๋‹ˆ๋‹ค. ์ฆ‰, ๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค.

Swapping ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

  • ์Šค์™€ํ•‘์€ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ด์ง€ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋””์Šคํฌ์— ์ž„์‹œ๋กœ ์ €์žฅํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

Swapping ๊ธฐ๋ฒ•์— ๋ฌธ์ œ์ ์€?

  • ์ž„์‹œ ์ €์žฅ์„ ๋””์Šคํฌ์— ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์Šค์™‘์˜ ์†๋„๊ฐ€ ์˜ค๋ž˜๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ „์ฒด ํ”„๋กœ์„ธ์Šค๋ฅผ ์Šค์™€ํ•‘ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€์ธ ํŽ˜์ด์ง€๋งŒ ์Šค์™‘ํ•˜๊ฑฐ๋‚˜ ๋””์Šคํฌ๋‚ด์˜ ํŒŒ์ผ์‹œ์Šคํ…œ๊ณผ ๋ถ„๋ฆฌ๋œ ์Šค์™‘๊ณต๊ฐ„์„ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ๋ฒ•์„ ๋งํ•ด๋ณด์„ธ์š”.

  • ์ตœ์ดˆ ์ ํ•ฉ, ์ตœ์  ์ ํ•ฉ, ์ตœ์•… ์ ํ•ฉ์œผ๋กœ ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ตœ์ดˆ ์ ํ•ฉ์€ ๋ฉ”๋ชจ๋ฆฌ์˜ ์‹œ์ž‘์ด๋‚˜ ๋์ง€์ ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ์š”์ฒญ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด ๋ฐœ๊ฒฌ๋˜๋ฉด ๊ณง๋ฐ”๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ์ตœ์  ์ ํ•ฉ์€ ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์€ ๊ณต๊ฐ„์„ ๋‹ค ํ™•์ธํ•ด๋ณด๊ณ  ์š”์ฒญ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๊ณต๊ฐ„์— ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ์ตœ์•… ์ ํ•ฉ์€ ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์€ ๊ณต๊ฐ„์„ ๋‹ค ํ™•์ธํ•ด๋ณด๊ณ  ์š”์ฒญ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ๊ณต๊ฐ„์— ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • ๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™”๋Š” ๋‚ด๋ถ€ ๋‹จํŽธํ™”์™€ ์™ธ๋ถ€ ๋‹จํŽธํ™” ๋‘ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€ ๋‹จํŽธํ™”๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹นํ•  ๋•Œ, ํฉ์–ด์ง„ ๋นˆ ๊ณต๊ฐ„์„ ํ•ฉ์น˜๋ฉด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๋งŒํผ์˜ ์—ฌ์œ ๊ณต๊ฐ„์ด ์žˆ์ง€๋งŒ ๊ฐ๊ฐ์˜ ๋นˆ ๊ณต๊ฐ„๋“ค์ด ์š”์ฒญ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€์ง€ ๋ชปํ•ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ํŽ˜์ด์ง€๋กœ ๋ถ„ํ•  ํ•  ๋•Œ, ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ๋‹ค ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€์˜ ์ผ๋ถ€๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ๋‚ด๋ถ€์— ๋นˆ ๊ณต๊ฐ„์ด ๋‚จ๊ฒŒ๋˜๋Š” ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ํ•œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋งตํ•‘ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๊ณ  ๊ฐ ํ”„๋กœ์„ธ์Šค๋“ค์€ PTBR (Page Table Base Register) ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํฌ์ธํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํฌ์ธํ„ฐ์˜ ์ฃผ์†Œ๋งŒ ๋ฐ”๊ฟ”์„œ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

TLB ๋ฅผ ์™œ ์“ฐ๊ณ  ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€ ์•Œ์•„์š”?

  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ๊ด€์ ์—์„œ CPU๊ฐ€ ์š”์ฒญํ•˜๋Š” ์ฃผ์†Œ๊ฐ€ ์‹ค์ œ ํŽ˜์ด์ง€๊นŒ์ง€ ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‘ ๋ฒˆ ์ฝ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅ๋œ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ํฌ์ธํ„ฐ๋ฅผ ์ฝ์–ด ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ฝ๊ณ , ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ๋งตํ•‘๋œ ๋ฌผ๋ฆฌ์ฃผ์†Œ์— ์ ‘๊ทผํ•ด ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ ํ•œ ๋ฒˆ ๋” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ง€์—ฐ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ TLB๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • CPU ์š”์ฒญํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ์œ„ํ•ด ๋ฐ”๋กœ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ  TLB์— ํ•ด๋‹น ๋…ผ๋ฆฌ์ฃผ์†Œ์— ๋Œ€ํ•œ ๋งตํ•‘ ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋งตํ•‘์ •๋ณด๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๊ณง๋ฐ”๋กœ ๋งตํ•‘๋œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ •๋ณด๊ฐ€ ์—†๋‹ค๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ฝ์–ด ๋ฌผ๋ฆฌ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•œ ๋’ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ณต์œ ํŽ˜์ด์ง€์— ๋Œ€ํ•ด์„œ ๋งํ•ด๋ณด์„ธ์š”.

  • ๊ณต์œ ํŽ˜์ด์ง€๋Š” ๋˜‘๊ฐ™์€ ์ฝ”๋“œ์˜์—ญ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์„ ๋•Œ ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋งŒ ์œ ์ง€ํ•˜๊ณ  ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ๊ฐ€๋ฅดํ‚ค๊ฒŒ ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘๋ณต์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ํ•˜๋‚˜๋งŒ ์œ ์ง€ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์š”๊ตฌ ํŽ˜์ด์ง•์— ๋Œ€ํ•ด์„œ ๋งํ•ด๋ณด์„ธ์š”.

  • ์š”๊ตฌ ํŽ˜์ด์ง•์€ ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‹น์žฅ ์‚ฌ์šฉํ•  ํŽ˜์ด์ง€๋งŒ ๋กœ๋“œํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์š”๊ตฌํŽ˜์ด์ง•์€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์—”ํŠธ๋ฆฌ์— valid bit ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ CPU๊ฐ€ ์ ‘๊ทผํ•˜๋ ค๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—†๋‹ค๋ฉด invalid bit ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•œ๋‹ค๋ฉด valid bit ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ์ผ์–ด๋‚ฌ์„ ๋•Œ ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

  • CPU๊ฐ€ ์š”์ฒญํ•œ ๋…ผ๋ฆฌ์ฃผ์†Œ๊ฐ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ƒ์— invalid ๋น„ํŠธ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด CPU๋กœ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐ›์€ CPU๋Š” ์šด์˜์ฒด์ œ์—๊ฒŒ Page Fault Routine ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋Š” backing store ํ˜น์€ ์Šค์™‘ ๊ณต๊ฐ„์—์„œ CPU ๊ฐ€ ์›ํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ valid bit ๋ฅผ valid ๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค.

์ง€์—ญ์„ฑ์˜ ์›๋ฆฌ ์•Œ์•„์š”?

  • ์ง€์—ญ์„ฑ์˜ ์›๋ฆฌ๋Š” ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ๊ณผ ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ์€ ์ตœ๊ทผ์— ์ฐธ์กฐํ•œ ๋ฉ”๋ชจ๋ฆฌ์ฃผ์†Œ๋ฅผ ๋‹ค์‹œ ์ฐธ์กฐํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์ด๊ณ , ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ์€ ์–ด๋–ค ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ–ˆ์„ ๋•Œ ๋‹ค์Œ์— ์ฐธ์กฐํ•  ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ•ด๋‹น ์ฃผ์†Œ ๊ทผ์ฒ˜์— ์žˆ์„ ํ™•๋ฅ ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ์–ด๋–ค๊ฒŒ ์žˆ์–ด์š”?

  • ๊ฐ€์žฅ ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™”๋˜ ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ๋กœ ๋‚ด๋ ค๋ณด๋‚ด๋Š” FIFO ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜๋Š” OPT ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ์ง€๋งŒ SJF ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ตฌํ˜„์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ์ • ์ฃผ๊ธฐ๋™์•ˆ ์ฐธ์กฐํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜๋Š” LFU ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜๋Š” LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Written by@์ „์—ฌํ›ˆ (Click Me!)
๊ณ ๋ฏผ์ด ๋‹ด๊ธด ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์ž, ๊ณ ๋ฏผํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๋ถ€ํ•˜์ž.